/**
* 
* Copyright [2007] [Sunny Liu]
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*       http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software
*   distributed under the License is distributed on an "AS IS" BASIS,
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*   See the License for the specific language governing permissions and
*   limitations under the License.
*/
package ${appConfig.outputPackageName}.controller;

import java.io.PrintWriter;
import java.io.StringWriter;



public class ServerProcessStatus 
{
	public  static final String SERVER_PROCESS_STATUS = "status";
	private boolean hasError;
	private Throwable error;
	private Object output;
	private int action = 0;
	private String message;
	
	
	public String getMessage()
	{
		return this.message;
	}
	
	public void setMessage(String msg)
	{
		this.message = msg;
	}
	
	/**
	 * @return Returns the action.
	 */
	public int getAction() {
		return action;
	}
	/**
	 * @param action The action to set.
	 */
	public void setAction(int action) {
		this.action = action;
	}
	
	public boolean isHasError() {
		return hasError;
	}
	public void setHasError(boolean hasError) {
		this.hasError = hasError;
	}
	public Throwable getError() {
		return error;
	}
	public void setError(Throwable error) {
		if(error!=null){
			this.hasError = true;
		}
		this.error = error;
	}
	public Object getOutput() {
		return output;
	}
	public void setOutput(Object output) {
		this.output = output;
	}
	
	public String getStackTraceAsString()
	{
		if(error!=null){
			StringWriter sw = new StringWriter(256);
			PrintWriter out = new PrintWriter(sw);
			this.error.printStackTrace(out);
			return sw.toString();			
		}else{
			return "";
		}
	}
	
}
